package com.example.tool.bean.business.wdt;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("tb_self_order")
public class SelfOrderDO {
    @TableId("id")
    private Long id;
    @TableField("trade_no")
    private String tradeNo;
    @TableField("trade_id")
    private Long tradeId;
    @TableField("platform_id")
    private Integer platformId;
    @TableField("warehouse_type")
    private Integer warehouseType;
    @TableField("src_tids")
    private String srcTids;
    @TableField("pay_account")
    private String payAccount;
    @TableField("trade_status")
    private Integer tradeStatus;
    @TableField("refund_status")
    private Integer refundStatus;
    @TableField("pay_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date payTime;
    @TableField("trade_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date tradeTime;
    @TableField("consign_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date consignTime;
    @TableField("logistics_no")
    private String logisticsNo;
    @TableField("warehouse_no")
    private String warehouseNo;
    @TableField("logistics_name")
    private String logisticsName;
    @TableField("logistics_code")
    private String logisticsCode;
    @TableField("logistics_type_name")
    private String logisticsTypeName;
    @TableField("estimate_consign_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date estimateConsignTime;
    @TableField("stockout_no")
    private String stockoutNo;
    @TableField("logistics_id")
    private Integer logisticsId;
    @TableField("sign_flag")
    private Boolean signFlag;
    @TableField("if_subscribe")
    private Boolean ifSubscribe;
    @TableField("logistics_type")
    private String logisticsType;
    @TableField("latest_progress")
    private String latestProgress;
    @TableField("if_monitor")
    private Boolean ifMonitor;
    @TableField(exist = false)
    private List<SelfOrderWithDetailDO> detailList = new ArrayList<>();


}
